<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>

<title>ClassOrInterfaceType (randoop 4.1.0 API)</title>

<link rel="stylesheet" type="text/css" href="../../javadocstyle.css" title="Style">
<script type="text/javascript" src="../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="ClassOrInterfaceType (randoop 4.1.0 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":10,"i2":6,"i3":10,"i4":10,"i5":9,"i6":9,"i7":10,"i8":10,"i9":10,"i10":6,"i11":10,"i12":10,"i13":10,"i14":6,"i15":10,"i16":6,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":6,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":6,"i30":10,"i31":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../randoop/types/CaptureTypeVariable.html" title="class in randoop.types"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../randoop/types/EagerReferenceBound.html" title="class in randoop.types"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?randoop/types/ClassOrInterfaceType.html" target="_top">Frames</a></li>
<li><a href="ClassOrInterfaceType.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">randoop.types</div>
<h2 title="Class ClassOrInterfaceType" class="title">Class ClassOrInterfaceType</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../randoop/types/Type.html" title="class in randoop.types">randoop.types.Type</a></li>
<li>
<ul class="inheritance">
<li><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">randoop.types.ReferenceType</a></li>
<li>
<ul class="inheritance">
<li>randoop.types.ClassOrInterfaceType</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&gt;</dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../randoop/types/NonParameterizedType.html" title="class in randoop.types">NonParameterizedType</a>, <a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types">ParameterizedType</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">ClassOrInterfaceType</span>
extends <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></pre>
<div class="block">Represents a class or interface type as defined in JLS Section 4.3.

 <p>This abstract class corresponds to the grammar in the JLS:

 <pre>
   ClassOrInterfaceType:
     ClassType
     InterfaceType
 </pre>

 InterfaceType is syntactically the same as ClassType. Therefore, <code>ClassType</code> and <code>InterfaceType</code> do not exist as subclasses of this class, Rather, the subclasses of this type
 distinguish between types with parameters (<a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types"><code>ParameterizedType</code></a>), and types without (<a href="../../randoop/types/NonParameterizedType.html" title="class in randoop.types"><code>NonParameterizedType</code></a>).</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#debug">debug</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#enclosingType">enclosingType</a></span></code>
<div class="block">The enclosing type: non-null only if this is a member class.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#ClassOrInterfaceType--">ClassOrInterfaceType</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>abstract <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#apply-randoop.types.Substitution-">apply</a></span>(<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution)</code>
<div class="block">Applies a substitution to a <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#apply-randoop.types.Substitution-randoop.types.ClassOrInterfaceType-">apply</a></span>(<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution,
     <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;type)</code>
<div class="block">Applies the substitution to the enclosing type of this type and adds the result as the
 enclosing class of the given type.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#applyCaptureConversion--">applyCaptureConversion</a></span>()</code>
<div class="block">Applies a capture conversion to this type.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#applyCaptureConversion-randoop.types.ClassOrInterfaceType-">applyCaptureConversion</a></span>(<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;type)</code>
<div class="block">Applies capture conversion to the enclosing type of this type and adds the result as the
 enclosing class of the given type.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#equals-java.lang.Object-">equals</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#forClass-java.lang.Class-">forClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;classType)</code>
<div class="block">Translates a <code>Class</code> object that represents a class or interface into a <code>ClassOrInterfaceType</code> object.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#forType-java.lang.reflect.Type-">forType</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;type)</code>
<div class="block">Creates a <code>ClassOrInterfaceType</code> object for a given <code>java.lang.reflect.Type</code>
 reference.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getCanonicalName--">getCanonicalName</a></span>()</code>
<div class="block">Returns the name of this type as the "canonical name" of the underlying runtime class.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getImmediateSupertypes--">getImmediateSupertypes</a></span>()</code>
<div class="block">Return the immediate supertypes of this type</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getInstantiatingSubstitution-randoop.types.ClassOrInterfaceType-">getInstantiatingSubstitution</a></span>(<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;goalType)</code>
<div class="block">Computes a substitution that can be applied to the type variables of the generic goal type to
 instantiate operations of this type, possibly inherited from from the goal type.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getInterfaces--">getInterfaces</a></span>()</code>
<div class="block">Returns the interface types directly implemented by this class or interface type.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types">InstantiatedType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getMatchingSupertype-randoop.types.GenericClassType-">getMatchingSupertype</a></span>(<a href="../../randoop/types/GenericClassType.html" title="class in randoop.types">GenericClassType</a>&nbsp;goalType)</code>
<div class="block">Finds the parameterized type that is a supertype of this class that also matches the given
 generic class.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getName--">getName</a></span>()</code>
<div class="block">Returns the fully-qualified name of this type, including type arguments if this is a
 parameterized type.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Package.html?is-external=true" title="class or interface in java.lang">Package</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getPackage--">getPackage</a></span>()</code>
<div class="block">Returns the package of the runtime class of this type.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>abstract <a href="../../randoop/types/NonParameterizedType.html" title="class in randoop.types">NonParameterizedType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getRawtype--">getRawtype</a></span>()</code>
<div class="block">Returns the non-parameterized form of this class type.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getSimpleName--">getSimpleName</a></span>()</code>
<div class="block">Returns the name of this class type.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>abstract <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getSuperclass--">getSuperclass</a></span>()</code>
<div class="block">Return the type for the superclass for this class.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getSuperTypes--">getSuperTypes</a></span>()</code>
<div class="block">Return the set of all of the supertypes of this type.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeArgument.html" title="class in randoop.types">TypeArgument</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getTypeArguments--">getTypeArguments</a></span>()</code>
<div class="block">Returns the type arguments for this type.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getTypeParameters--">getTypeParameters</a></span>()</code>
<div class="block">Returns the list of type parameters for this type.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#getUnqualifiedName--">getUnqualifiedName</a></span>()</code>
<div class="block">Returns the name of this type without package name, but with type arguments if parameterized,
 and enclosing class if a member class.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#hashCode--">hashCode</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#hasWildcard--">hasWildcard</a></span>()</code>
<div class="block">Indicate whether this type has a wildcard either as or in a type argument.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#isAbstract--">isAbstract</a></span>()</code>
<div class="block">Indicate whether this class is abstract.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#isClassOrInterfaceType--">isClassOrInterfaceType</a></span>()</code>
<div class="block">Indicate whether this type is a class or interface type.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#isGeneric--">isGeneric</a></span>()</code>
<div class="block">Indicate whether this type is generic.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#isInstantiationOf-randoop.types.ReferenceType-">isInstantiationOf</a></span>(<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&nbsp;otherType)</code>
<div class="block">Indicates whether this type is an instantiation of a more general type.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#isMemberClass--">isMemberClass</a></span>()</code>
<div class="block">Indicate whether this class is a member of another class.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#isParameterized--">isParameterized</a></span>()</code>
<div class="block">Indicate whether this type is a parameterized type.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#isStatic--">isStatic</a></span>()</code>
<div class="block">Indicates whether this class is static.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#isSubtypeOf-randoop.types.Type-">isSubtypeOf</a></span>(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;otherType)</code>
<div class="block">Test whether this type is a subtype of the given type according to transitive closure of
 definition of the <i>direct supertype</i> relation in <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.10.2">section 4.10.2
 of JLS for JavaSE 8</a>.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../randoop/types/ClassOrInterfaceType.html#setEnclosingType-randoop.types.ClassOrInterfaceType-">setEnclosingType</a></span>(<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;enclosingType)</code>
<div class="block">Sets the enclosing type for this class type.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.randoop.types.ReferenceType">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;randoop.types.<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></h3>
<code><a href="../../randoop/types/ReferenceType.html#getInstantiatingSubstitution-randoop.types.ReferenceType-">getInstantiatingSubstitution</a>, <a href="../../randoop/types/ReferenceType.html#isAssignableFrom-randoop.types.Type-">isAssignableFrom</a>, <a href="../../randoop/types/ReferenceType.html#isCaptureVariable--">isCaptureVariable</a>, <a href="../../randoop/types/ReferenceType.html#isReferenceType--">isReferenceType</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.randoop.types.Type">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;randoop.types.<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></h3>
<code><a href="../../randoop/types/Type.html#compareTo-randoop.types.Type-">compareTo</a>, <a href="../../randoop/types/Type.html#forName-java.lang.String-">forName</a>, <a href="../../randoop/types/Type.html#forValue-java.lang.Object-">forValue</a>, <a href="../../randoop/types/Type.html#getRuntimeClass--">getRuntimeClass</a>, <a href="../../randoop/types/Type.html#isArray--">isArray</a>, <a href="../../randoop/types/Type.html#isAssignableFromTypeOf-T-">isAssignableFromTypeOf</a>, <a href="../../randoop/types/Type.html#isBoxedPrimitive--">isBoxedPrimitive</a>, <a href="../../randoop/types/Type.html#isClass--">isClass</a>, <a href="../../randoop/types/Type.html#isEnum--">isEnum</a>, <a href="../../randoop/types/Type.html#isInterface--">isInterface</a>, <a href="../../randoop/types/Type.html#isNonreceiverType--">isNonreceiverType</a>, <a href="../../randoop/types/Type.html#isObject--">isObject</a>, <a href="../../randoop/types/Type.html#isPrimitive--">isPrimitive</a>, <a href="../../randoop/types/Type.html#isRawtype--">isRawtype</a>, <a href="../../randoop/types/Type.html#isString--">isString</a>, <a href="../../randoop/types/Type.html#isVariable--">isVariable</a>, <a href="../../randoop/types/Type.html#isVoid--">isVoid</a>, <a href="../../randoop/types/Type.html#runtimeClassIs-java.lang.Class-">runtimeClassIs</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="debug">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>debug</h4>
<pre>private static&nbsp;boolean debug</pre>
</li>
</ul>
<a name="enclosingType">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>enclosingType</h4>
<pre>private&nbsp;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a> enclosingType</pre>
<div class="block">The enclosing type: non-null only if this is a member class.</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="ClassOrInterfaceType--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ClassOrInterfaceType</h4>
<pre>public&nbsp;ClassOrInterfaceType()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="forClass-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forClass</h4>
<pre>public static&nbsp;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;forClass(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;classType)</pre>
<div class="block">Translates a <code>Class</code> object that represents a class or interface into a <code>ClassOrInterfaceType</code> object. If the object has parameters, then delegates to <a href="../../randoop/types/ParameterizedType.html#forClass-java.lang.Class-"><code>ParameterizedType.forClass(Class)</code></a>. Otherwise, creates a <a href="../../randoop/types/NonParameterizedType.html" title="class in randoop.types"><code>NonParameterizedType</code></a> object
 from the given object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>classType</code> - the class type to translate</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>ClassOrInterfaceType</code> object created from the given class type</dd>
</dl>
</li>
</ul>
<a name="forType-java.lang.reflect.Type-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>forType</h4>
<pre>public static&nbsp;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;forType(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Type.html?is-external=true" title="class or interface in java.lang.reflect">Type</a>&nbsp;type)</pre>
<div class="block">Creates a <code>ClassOrInterfaceType</code> object for a given <code>java.lang.reflect.Type</code>
 reference. If type is a <code>java.lang.reflect.ParameterizedType</code>, then calls <a href="../../randoop/types/ParameterizedType.html#forType-java.lang.reflect.Type-"><code>ParameterizedType.forType(java.lang.reflect.Type)</code></a>. Otherwise, if type is a <code>Class</code>
 object, calls <a href="../../randoop/types/ClassOrInterfaceType.html#forClass-java.lang.Class-"><code>forClass(Class)</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - the type reference</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <code>ClassOrInterfaceType</code> object for the given type</dd>
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;obj)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="hashCode--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
</dl>
</li>
</ul>
<a name="apply-randoop.types.Substitution-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre>public abstract&nbsp;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;apply(<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution)</pre>
<div class="block">Applies a substitution to a <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a>. If the type is parameterized then replaces
 type variables that occur, otherwise returns this type.

 <p>This abstract method forces typing of substitutions applied to <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a> objects
 without an explicit cast.

 <p>This abstract method allows substitutions to be applied to <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types"><code>ClassOrInterfaceType</code></a>
 objects without casting.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/ReferenceType.html#apply-randoop.types.Substitution-">apply</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>substitution</code> - the type substitution</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type created by applying the substitution to this type</dd>
</dl>
</li>
</ul>
<a name="apply-randoop.types.Substitution-randoop.types.ClassOrInterfaceType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>apply</h4>
<pre>final&nbsp;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;apply(<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;substitution,
                                 <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;type)</pre>
<div class="block">Applies the substitution to the enclosing type of this type and adds the result as the
 enclosing class of the given type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>substitution</code> - the substitution to apply to the enclosing type</dd>
<dd><code>type</code> - the type to which resulting enclosing type is to be added</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type with enclosing type added if needed</dd>
</dl>
</li>
</ul>
<a name="applyCaptureConversion--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyCaptureConversion</h4>
<pre>public abstract&nbsp;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;applyCaptureConversion()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#applyCaptureConversion--">Type</a></code></span></div>
<div class="block">Applies a capture conversion to this type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ReferenceType.html#applyCaptureConversion--">applyCaptureConversion</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a copy of this type with wildcards replaced by type conversion</dd>
</dl>
</li>
</ul>
<a name="applyCaptureConversion-randoop.types.ClassOrInterfaceType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>applyCaptureConversion</h4>
<pre>final&nbsp;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;applyCaptureConversion(<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;type)</pre>
<div class="block">Applies capture conversion to the enclosing type of this type and adds the result as the
 enclosing class of the given type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>type</code> - this type with capture conversion applied</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type with converted enclosing type</dd>
</dl>
</li>
</ul>
<a name="getSimpleName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSimpleName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getSimpleName()</pre>
<div class="block">Returns the name of this class type. Does not include package, enclosing classes, or type
 arguments.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#getSimpleName--">getSimpleName</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the name of this class</dd>
</dl>
</li>
</ul>
<a name="getCanonicalName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCanonicalName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getCanonicalName()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#getCanonicalName--">Type</a></code></span></div>
<div class="block">Returns the name of this type as the "canonical name" of the underlying runtime class.
 Identical to <a href="../../randoop/types/Type.html#getName--"><code>Type.getName()</code></a> except for types with type arguments. For <code>java.util.List&lt;T&gt;</code> returns <code>"java.util.List"</code>. Returns <code>null</code> when <code>Class&lt;?&gt;.getCanonicalName()</code> does for the underlying <code>Class&lt;?&gt;</code> object (e.g., the type is
 a local or anonymous class, or array type where the component type that has no canonical name).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#getCanonicalName--">getCanonicalName</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the fully-qualified canonical name of this type</dd>
</dl>
</li>
</ul>
<a name="getName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getName()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#getName--">Type</a></code></span></div>
<div class="block">Returns the fully-qualified name of this type, including type arguments if this is a
 parameterized type. For <code>java.util.List&lt;T&gt;</code> return <code>"java.util.List&lt;T&gt;"</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#getName--">getName</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the fully-qualified type name for this type</dd>
</dl>
</li>
</ul>
<a name="getUnqualifiedName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnqualifiedName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getUnqualifiedName()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#getUnqualifiedName--">Type</a></code></span></div>
<div class="block">Returns the name of this type without package name, but with type arguments if parameterized,
 and enclosing class if a member class. For instance, for <code>java.util.List&lt;T&gt;</code> would return
 <code>"List&lt;T&gt;"</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#getUnqualifiedName--">getUnqualifiedName</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the unqualified name of this type</dd>
</dl>
</li>
</ul>
<a name="getInterfaces--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInterfaces</h4>
<pre>public abstract&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&gt;&nbsp;getInterfaces()</pre>
<div class="block">Returns the interface types directly implemented by this class or interface type. Preserves the
 order in the reflection method <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true#getGenericInterfaces--" title="class or interface in java.lang"><code>Class.getGenericInterfaces()</code></a>. If no interfaces are
 implemented, then returns the empty list.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of interfaces directly implemented by this type</dd>
</dl>
</li>
</ul>
<a name="getPackage--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPackage</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Package.html?is-external=true" title="class or interface in java.lang">Package</a>&nbsp;getPackage()</pre>
<div class="block">Returns the package of the runtime class of this type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the package of the runtime class of this type, or null if there is none</dd>
</dl>
</li>
</ul>
<a name="getRawtype--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRawtype</h4>
<pre>public abstract&nbsp;<a href="../../randoop/types/NonParameterizedType.html" title="class in randoop.types">NonParameterizedType</a>&nbsp;getRawtype()</pre>
<div class="block">Returns the non-parameterized form of this class type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#getRawtype--">getRawtype</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the non-parameterized form of this class type</dd>
</dl>
</li>
</ul>
<a name="getMatchingSupertype-randoop.types.GenericClassType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMatchingSupertype</h4>
<pre>public&nbsp;<a href="../../randoop/types/InstantiatedType.html" title="class in randoop.types">InstantiatedType</a>&nbsp;getMatchingSupertype(<a href="../../randoop/types/GenericClassType.html" title="class in randoop.types">GenericClassType</a>&nbsp;goalType)</pre>
<div class="block">Finds the parameterized type that is a supertype of this class that also matches the given
 generic class. For example, if <code>class C&lt;T&gt; implements Comparator&lt;T&gt;</code> and <code>class A
 extends C&lt;String&gt;</code>, then when applied to <code>A</code>, this method would return <code>C&lt;String&gt;</code>
 when given <code>C&lt;T&gt;</code>, and <code>Comparator&lt;String&gt;</code> when given <code>Comparator&lt;E&gt;</code>.
 Returns null if there is no such type.

 <p>Performs a depth-first search of the supertype relation for this type. If the goal type is
 an interface, then searches the interfaces of this type first.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>goalType</code> - the generic class type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the instantiated type matching the goal type, or null</dd>
</dl>
</li>
</ul>
<a name="getInstantiatingSubstitution-randoop.types.ClassOrInterfaceType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInstantiatingSubstitution</h4>
<pre>public&nbsp;<a href="../../randoop/types/Substitution.html" title="class in randoop.types">Substitution</a>&lt;<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&gt;&nbsp;getInstantiatingSubstitution(<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;goalType)</pre>
<div class="block">Computes a substitution that can be applied to the type variables of the generic goal type to
 instantiate operations of this type, possibly inherited from from the goal type. The
 substitution will unify this type or a supertype of this type with the given goal type.

 <p>If there is no unifying substitution, returns <code>null</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>goalType</code> - the generic type for which a substitution is needed</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a substitution unifying this type or a supertype of this type with the goal type</dd>
</dl>
</li>
</ul>
<a name="getSuperclass--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSuperclass</h4>
<pre>public abstract&nbsp;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;getSuperclass()</pre>
<div class="block">Return the type for the superclass for this class.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>superclass of this type, or the <code>Object</code> type if this type has no superclass</dd>
</dl>
</li>
</ul>
<a name="getSuperTypes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSuperTypes</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&gt;&nbsp;getSuperTypes()</pre>
<div class="block">Return the set of all of the supertypes of this type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the set of all supertypes of this type</dd>
</dl>
</li>
</ul>
<a name="getImmediateSupertypes--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getImmediateSupertypes</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&gt;&nbsp;getImmediateSupertypes()</pre>
<div class="block">Return the immediate supertypes of this type</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the immediate supertypes of this type</dd>
</dl>
</li>
</ul>
<a name="isAbstract--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAbstract</h4>
<pre>public abstract&nbsp;boolean&nbsp;isAbstract()</pre>
<div class="block">Indicate whether this class is abstract.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this class is abstract, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isGeneric--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isGeneric</h4>
<pre>public&nbsp;boolean&nbsp;isGeneric()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#isGeneric--">Type</a></code></span></div>
<div class="block">Indicate whether this type is generic. A type is <i>generic</i> if it has one or more type
 variables.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#isGeneric--">isGeneric</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is generic, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isInstantiationOf-randoop.types.ReferenceType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInstantiationOf</h4>
<pre>public&nbsp;boolean&nbsp;isInstantiationOf(<a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a>&nbsp;otherType)</pre>
<div class="block">Indicates whether this type is an instantiation of a more general type.

 <p>For a general <a href="../../randoop/types/ReferenceType.html" title="class in randoop.types"><code>ReferenceType</code></a>, this is only true if the other type is the same, or the
 other type is a type variable for which this type satisfies the bounds. Other cases are handled
 by the overriding implementations <a href="../../randoop/types/ClassOrInterfaceType.html#isInstantiationOf-randoop.types.ReferenceType-"><code>isInstantiationOf(ReferenceType)</code></a>, <a href="../../randoop/types/InstantiatedType.html#isInstantiationOf-randoop.types.ReferenceType-"><code>InstantiatedType.isInstantiationOf(ReferenceType)</code></a>, and <a href="../../randoop/types/TypeVariable.html#isInstantiationOf-randoop.types.ReferenceType-"><code>TypeVariable.isInstantiationOf(ReferenceType)</code></a>.

 <p>For a <a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types"><code>ClassOrInterfaceType</code></a> that is a member class, if <code>otherType</code> is also a
 member class, then the enclosing type of this type must instantiate the enclosing type of
 <code>otherType</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ReferenceType.html#isInstantiationOf-randoop.types.ReferenceType-">isInstantiationOf</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>otherType</code> - the general reference type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type instantiates the other reference type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isMemberClass--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMemberClass</h4>
<pre>public final&nbsp;boolean&nbsp;isMemberClass()</pre>
<div class="block">Indicate whether this class is a member of another class. (see <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.5">JLS section
 8.5</a>)</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this class is a member class, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isParameterized--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isParameterized</h4>
<pre>public&nbsp;boolean&nbsp;isParameterized()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#isParameterized--">Type</a></code></span></div>
<div class="block">Indicate whether this type is a parameterized type. (A <i>parameterized type</i> is a type
 <code>C&lt;T1,...,Tk&gt;</code> that instantiates a generic class <code>C&lt;F1,...,Fk&gt;</code>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#isParameterized--">isParameterized</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a parameterized type, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isStatic--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isStatic</h4>
<pre>public abstract&nbsp;boolean&nbsp;isStatic()</pre>
<div class="block">Indicates whether this class is static.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this class is static, false otherwise</dd>
</dl>
</li>
</ul>
<a name="isSubtypeOf-randoop.types.Type-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSubtypeOf</h4>
<pre>public&nbsp;boolean&nbsp;isSubtypeOf(<a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a>&nbsp;otherType)</pre>
<div class="block">Test whether this type is a subtype of the given type according to transitive closure of
 definition of the <i>direct supertype</i> relation in <a
 href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.html#jls-4.10.2">section 4.10.2
 of JLS for JavaSE 8</a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ReferenceType.html#isSubtypeOf-randoop.types.Type-">isSubtypeOf</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>otherType</code> - the possible supertype</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a subtype of the given type, false otherwise</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../randoop/types/ReferenceType.html#isAssignableFrom-randoop.types.Type-"><code>ReferenceType.isAssignableFrom(Type)</code></a>, 
<a href="../../randoop/types/ClassOrInterfaceType.html#isSubtypeOf-randoop.types.Type-"><code>isSubtypeOf(Type)</code></a></dd>
</dl>
</li>
</ul>
<a name="hasWildcard--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasWildcard</h4>
<pre>public&nbsp;boolean&nbsp;hasWildcard()</pre>
<div class="block">Indicate whether this type has a wildcard either as or in a type argument.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ReferenceType.html#hasWildcard--">hasWildcard</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type has a wildcard, and false otherwise</dd>
</dl>
</li>
</ul>
<a name="setEnclosingType-randoop.types.ClassOrInterfaceType-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setEnclosingType</h4>
<pre>private&nbsp;void&nbsp;setEnclosingType(<a href="../../randoop/types/ClassOrInterfaceType.html" title="class in randoop.types">ClassOrInterfaceType</a>&nbsp;enclosingType)</pre>
<div class="block">Sets the enclosing type for this class type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>enclosingType</code> - the type for the class enclosing the declaration of this type</dd>
</dl>
</li>
</ul>
<a name="getTypeArguments--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeArguments</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeArgument.html" title="class in randoop.types">TypeArgument</a>&gt;&nbsp;getTypeArguments()</pre>
<div class="block">Returns the type arguments for this type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the list of type arguments</dd>
</dl>
</li>
</ul>
<a name="getTypeParameters--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTypeParameters</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../randoop/types/TypeVariable.html" title="class in randoop.types">TypeVariable</a>&gt;&nbsp;getTypeParameters()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/ReferenceType.html#getTypeParameters--">ReferenceType</a></code></span></div>
<div class="block">Returns the list of type parameters for this type. Reference types that may have type
 parameters include <a href="../../randoop/types/ArrayType.html" title="class in randoop.types"><code>ArrayType</code></a> (such as <code>E[]</code>), and subclasses of <a href="../../randoop/types/ParameterizedType.html" title="class in randoop.types"><code>ParameterizedType</code></a>.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/ReferenceType.html#getTypeParameters--">getTypeParameters</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/ReferenceType.html" title="class in randoop.types">ReferenceType</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the type parameters for this type</dd>
</dl>
</li>
</ul>
<a name="isClassOrInterfaceType--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isClassOrInterfaceType</h4>
<pre>public&nbsp;boolean&nbsp;isClassOrInterfaceType()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../randoop/types/Type.html#isClassOrInterfaceType--">Type</a></code></span></div>
<div class="block">Indicate whether this type is a class or interface type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../randoop/types/Type.html#isClassOrInterfaceType--">isClassOrInterfaceType</a></code>&nbsp;in class&nbsp;<code><a href="../../randoop/types/Type.html" title="class in randoop.types">Type</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this type is a class or interface type; false, otherwise</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../index-all.html">Index</a></li>
<li><a href="../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../randoop/types/CaptureTypeVariable.html" title="class in randoop.types"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../randoop/types/EagerReferenceBound.html" title="class in randoop.types"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../index.html?randoop/types/ClassOrInterfaceType.html" target="_top">Frames</a></li>
<li><a href="ClassOrInterfaceType.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
